# -*- coding: utf-8 -*-
# @Time : 2024/3/13 20:22
# @Author : Hami

from faker import Faker
from Common.FileDataDriver import FileDataDriver

# 创建Faker对象，设置语言(中文、英文...)
# 中文：zh_CN
# 英文：en_US
faker = Faker(locale="en_US")


# 生成数据
class ReqDataDriver():
    """
    用来生成对应的数据的驱动
    """

    def get_name(self):
        """
        获取用户名
        @return:
        """
        data = faker.name()
        # 以空格去进行分割，并且合并
        return ''.join(data.split())

    def get_phone_number(self):
        """
        获取手机号
        @return:
        """
        faker = Faker(locale="zh_CN")
        data = faker.phone_number()
        return data


REQDATADRIVER = ReqDataDriver()


# print(REQDATADRIVER.get_name())


# 第一步：读取yaml文件，获取要生成数据
# 第二步：循环遍历，生成对应的数据并且组成一个新的数据字典。

def GenerateData():
    # 生成具体数据的方法
    data = FileDataDriver.read_yaml(file_path="./data/ReqDataDriver/ReqDataDriver.yaml")
    all_data = {}
    for key, value in data.items():  # 'regName': 'get_name'
        # re_value = getattr("实例化的对象", "方法或者属性名")()
        re_value = getattr(REQDATADRIVER, value)()
        all_data.update(
            {key: re_value}
        )

    return all_data

    # print(all_data)
# GenerateData()
